home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / compiler / misc.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-13  |  3KB  |  112 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4.  
  5. def flatten(tup):
  6.     elts = []
  7.     for elt in tup:
  8.         if isinstance(elt, tuple):
  9.             elts = elts + flatten(elt)
  10.             continue
  11.         elts.append(elt)
  12.     
  13.     return elts
  14.  
  15.  
  16. class Set:
  17.     
  18.     def __init__(self):
  19.         self.elts = { }
  20.  
  21.     
  22.     def __len__(self):
  23.         return len(self.elts)
  24.  
  25.     
  26.     def __contains__(self, elt):
  27.         return self.elts.has_key(elt)
  28.  
  29.     
  30.     def add(self, elt):
  31.         self.elts[elt] = elt
  32.  
  33.     
  34.     def elements(self):
  35.         return self.elts.keys()
  36.  
  37.     
  38.     def has_elt(self, elt):
  39.         return self.elts.has_key(elt)
  40.  
  41.     
  42.     def remove(self, elt):
  43.         del self.elts[elt]
  44.  
  45.     
  46.     def copy(self):
  47.         c = Set()
  48.         c.elts.update(self.elts)
  49.         return c
  50.  
  51.  
  52.  
  53. class Stack:
  54.     
  55.     def __init__(self):
  56.         self.stack = []
  57.         self.pop = self.stack.pop
  58.  
  59.     
  60.     def __len__(self):
  61.         return len(self.stack)
  62.  
  63.     
  64.     def push(self, elt):
  65.         self.stack.append(elt)
  66.  
  67.     
  68.     def top(self):
  69.         return self.stack[-1]
  70.  
  71.     
  72.     def __getitem__(self, index):
  73.         return self.stack[index]
  74.  
  75.  
  76. MANGLE_LEN = 256
  77.  
  78. def mangle(name, klass):
  79.     if not name.startswith('__'):
  80.         return name
  81.     
  82.     if len(name) + 2 >= MANGLE_LEN:
  83.         return name
  84.     
  85.     if name.endswith('__'):
  86.         return name
  87.     
  88.     
  89.     try:
  90.         i = 0
  91.         while klass[i] == '_':
  92.             i = i + 1
  93.     except IndexError:
  94.         return name
  95.  
  96.     klass = klass[i:]
  97.     tlen = len(klass) + len(name)
  98.     if tlen > MANGLE_LEN:
  99.         klass = klass[:MANGLE_LEN - tlen]
  100.     
  101.     return '_%s%s' % (klass, name)
  102.  
  103.  
  104. def set_filename(filename, tree):
  105.     worklist = [
  106.         tree]
  107.     while worklist:
  108.         node = worklist.pop(0)
  109.         node.filename = filename
  110.         worklist.extend(node.getChildNodes())
  111.  
  112.